#pragma once

#include <string>
#include <iostream>
#include <GL\glui.h>
#include "Texture.h"
#include "Material.h"

using namespace std;

class Primitive
{
private:
	string ID;
	Texture* tex;
	Material* mat;
	bool MaterialInherit;
	bool TextureInherit;
	bool noTexture;
	bool noMaterial;
public:
	Primitive()
	{
		tex = new Texture();
		mat = new Material();
	}

	string getID()
	{
		return ID;
	}

	void setID(string _ID)
	{
		ID = _ID;
	}

	void setTex(Texture* seqNum)
	{
		tex = seqNum;
	}

	Texture* getTex()
	{
		return tex;
	}

	void setmat(Material* seqNum)
	{
		mat = seqNum;
	}

	Material* getMat()
	{
		return mat;
	}

	bool getMatInherit()
	{
		return MaterialInherit;
	}

	void setMatInherit(bool x)
	{
		MaterialInherit = x;
	}

	bool getTexInherit()
	{
		return TextureInherit;
	}

	void setTexInherit(bool x)
	{
		TextureInherit = x;
	}

	bool getNoTex()
	{
		return noTexture;
	}

	void setNoTex(bool x)
	{
		noTexture = x;
	}

	bool getNoMat()
	{
		return noMaterial;
	}

	void setNoMat(bool x)
	{
		noMaterial = x;
	}

	virtual void render() {}
};